A Python application that generates an HTML wall displaying GitHub workflow status badges for multiple repositories.
wall/
├── src/
│ ├── badge_generator/
│ │ ├── __init__.py # Package initialization
│ │ ├── generator.py # Core badge generation logic
│ │ └── html_generator.py # HTML generation utilities
├── tests/
│ └── test_generator.py # Basic tests
├── config/
│ └── repos.json # Repository configuration
└── pyproject.toml # Project metadata and dependencies
uv venv
source .venv/bin/activate # On Unix/macOS
# or
.venv\Scripts\activate # On Windows
uv pip install -e .
Create a .env file with your GitHub token:
GITHUB_TOKEN=your_github_token
Configure repositories in config/repos.json:
{
"organization": "your-org",
"repositories": [
{
"name": "repo-name",
"workflows": ["all"]
}
]
}
Generate the badge wall:
generate-badges
This will create an index.html file with the workflow status wall.
Install development dependencies:
uv pip install -e ".[dev]"
Run tests:
pytest